import PyInstaller.__main__
import os
import shutil
import sys


def main():
    # 清理旧构建
    if os.path.exists('dist'):
        shutil.rmtree('dist')
    if os.path.exists('build'):
        shutil.rmtree('build')

    # 确保图标存在
    if not os.path.exists('icon.ico'):
        print("⚠️ 警告: 未找到 icon.ico 文件，将使用默认图标")
        # 创建临时图标
        with open('icon.ico', 'wb') as f:
            f.write(b'')  # 创建空文件避免错误

    # 使用 spec 文件打包
    PyInstaller.__main__.run([
        'api_scanner.spec',
        '--clean',
        '--noconfirm'  # 不确认直接覆盖
    ])

    # 检查输出
    exe_path = os.path.join('dist', 'APIScanner.exe')
    if os.path.exists(exe_path):
        print(f"✅ 打包成功! 可执行文件位置: {os.path.abspath(exe_path)}")
        print("💡 提示: 此文件可在没有Python环境的Windows电脑上运行")
    else:
        print("❌ 打包失败，请检查错误信息")


if __name__ == "__main__":
    main()
